package com.tang.exception_.homework;

public class Homework01 {
    //编写一个main方法
    public static void main(String[] args) {
           /*编写应用程序EcmDef.java，接收命令行的两个参数(整数)，计算两数相除。
            计算两个数相除，要求使用方法 cal(int n1, int n2)
            对数据格式不正确(NumberFormatException)、
            缺少命令行参数(ArrayIndexOutOfBoundsException)、
            除0 进行异常处理(ArithmeticException)。
         */
        //int[] a = new int[2];
        for (int i=0;i<= args.length;i++){
            System.out.println("args[i] = " + args[i]);
        }
        try {
            if (args.length != 2) {
                throw new ArrayIndexOutOfBoundsException("parameter number error!");
            }
            int n1 = Integer.parseInt(args[0]);
            int n2 = Integer.parseInt(args[1]);
            double res = cal(n1, n2);//该方法可能抛出ArithmeticException
            System.out.println("计算结果是=" + res);
        } catch (NumberFormatException e) {
            System.out.println("参数格式不正确，需要输出整 = " + e.getMessage());
            //throw new NumberFormatException(e.getMessage());
        } catch (ArithmeticException e) {
            System.out.println("出现了除0的异常  = " + e.getMessage());
        } finally {
            System.out.println("finally");
            //throw new RuntimeException("就是想报错");
        }
    }

    public static double cal(int n1, int n2) {
        return n1 / n2;
    }
}
